#include "IdentificadorVariavel.h"

std::string IdentificadorVariavel::getTipo()
{
    return this->tipo;
}

void IdentificadorVariavel::setTipo(std::string pTipo)
{
    this->tipo = pTipo;
}

int IdentificadorVariavel::getDeslocamento()
{
    return this->deslocamento;
}

void IdentificadorVariavel::setDeslocamento(int pDesloc)
{
    this->deslocamento = pDesloc;
}

void IdentificadorVariavel::exibir(std::ostream& pSaida)
{
    pSaida << "Identificador: " << getIdentificador();
    pSaida << " | Categoria: Variavel";
    pSaida << " | Nivel: " << getNivel();
    pSaida << " | Procedimento: " << getProcedimento();
    pSaida << " | Tipo: " << getTipo();
    pSaida << " | Deslocamento: " << getDeslocamento();
    pSaida << std::endl;
    
}

IdentificadorVariavel::IdentificadorVariavel(std::string pIdentificador, int pCategoria, int pNivel,
                                             std::string pProc, std::string pTipo, int desl)
                                             : Identificador(pIdentificador, pCategoria, pNivel, pProc)
{
    this->tipo = pTipo;
    this->deslocamento = desl;
}
